export default{
    // 命名空间
    namespaced: true,
    state: {
        token:'',
    },
    getters:{

    },
    mutations: {
        setToken(state,payload){
            state.token = payload
        }
    },
    actions: {
        // 异步获取token
       async fetchToken({commit}){
            console.log('actions中的fetchToken触发');
            const [err1, result1] = await uni.getUserProfile({
                desc: '用来给用户提供更好的体验',
              });
              // console.log(err1);
              // console.log(result1);
        
              // 2、调用 wx.login 来获取 code （临时登录凭据 5分钟有效）
              const [err2,{code}] = await uni.login()
              // console.log(err2);
              // console.log(code);
        
              // 调用后台接口  获取token
              // console.log(this.$u.post);// 不能这么来调用 this不是vue的实例
            // console.log(uni.$u.post); // 不能这么来调用 this不是vue的实例
              const result3 = await uni.$u.post('/users/wxlogin',{
                ...result1,
                code,
              })
        
              console.log(result3); 
              const {token} = result3.message
              commit('setToken', token)
        }
    }
}